package itsm.isperp.module.repository.slm;

import itsm.isperp.framework.data.mybatis.dao.CUDMapper;
import itsm.isperp.module.entity.slm.SlmServiceTarget;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

/// <summary>
/// 描述:slm_service_target
/// 创建者:zhouhg
/// 创建时间:2013/3/13
/// </summary>
@Repository
public interface SlmServiceTargetMapper extends CUDMapper<SlmServiceTarget> {

	/**
	 * 根据服务协议获取其对应的服务考核指标
	 * 
	 * @param serviceArgumentId
	 *            服务协议Id return 服务考核指标集合
	 */
	public List<SlmServiceTarget> getSlmServiceTargetsByArgumentId(
			String serviceArgumentId);

	/**
	 * 指定跳动秒数执行存储过程计算服务目标的定义
	 * 
	 * @param interValue
	 *            跳动秒数
	 */
	public void elapsedWorktime(@Param("interValue") int interValue);

	/**
	 * 更新服务目标所有正在使用的数据
	 */
	public void updateAllWorktime();

	public List<SlmServiceTarget> findSlmServiceTargetsByArgumentId(
			@Param("agreementId") String agreementId);

	public List<Map<String, Object>> findSlmServiceTargetsValueByArgumentIdAndObjectId(
			@Param("agreementId") String agreementId,
			@Param("applyObjectId") String applyObjectId);

	void deleteByAgreementId(@Param("agreementId") String agreementId);

	void deleteByProjectId(@Param("projectId") String projectId);

}